home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / fontfx1a / fontmod.bas < prev    next >
BASIC Source File  |  1999-09-12  |  11KB  |  183 lines

  1. Attribute VB_Name = "Fontmod"
  2. Option Explicit
  3. ' Ok, well here is a breif explination
  4. ' This will do a few things with text.
  5. ' I could of named it Text FX or PicBox FX,
  6. ' But I like Font FX better I made the subs
  7. ' as customizable as I could think of, If
  8. ' you hav any suggestions, please email
  9. ' me at MaRZ001@juno.com
  10. ' If you want and if I impliment your idea
  11. ' I will put you in a greets thing or something
  12. ' Well, I know I said the 11th, and of course I
  13. ' put it off and put it off, until the 10th so
  14. ' I did this in maby 5 hours total so I could
  15. ' have it ready by the 11th.
  16. ' If you don't know what a X, Y axis is, here
  17. ' is a breif explination. The Y is up and down
  18. ' the X is left and right. Just cause its there,
  19. ' the Z axis is like for 3D movements and stuff,
  20. ' If I'm wrong on any of the Axis things...
  21. ' email me and tell me, or if u got a better
  22. ' short explination, email me. I think I'm right
  23. ' on the X and Y, but I don't know too much bout
  24. ' the Z. K, I think thats enough reading for now:)
  25. Public Const Left = 1 'Const for X axis
  26. Public Const Top = 1 'Const for Y axis
  27. Public Const Middle = 2 'Const for X, Y axis
  28. Public Const Bottom = 3 'Const for Y axis
  29. Public Const Right = 3 'Const for X axis
  30. Public Sub Pause(HowLong As String) 'The pause, I found strings work better
  31. Dim TheBeginning
  32. TheBeginning = Timer
  33. Do While Timer < TheBeginning + HowLong
  34. DoEvents
  35. Loop
  36. End Sub
  37. Sub TxtBottom(Txt As String, Delay As String, Increment As Integer, XPos As Integer, PicBox As PictureBox)
  38. Dim a As Integer, b As Integer
  39. PicBox.Font = "Arial" 'Set the font to Arial, I know Arial is a good font, works well and normal sizes not like 8.25 and 9.7 and stuff like that
  40. a% = 0
  41. Do 'Start loop
  42. DoEvents
  43. PicBox.Cls 'Clear picture box
  44. If XPos = 1 Then 'Check to see where the user wants the text to show
  45. PicBox.CurrentX = 0 'Left
  46. ElseIf XPos = 2 Then 'Middle
  47. PicBox.CurrentX = PicBox.ScaleWidth / 2 - (PicBox.TextWidth(Txt) + PicBox.FontSize) / 2 - PicBox.FontSize 'Middle
  48. ElseIf XPos = 3 Then 'Bottom
  49. PicBox.CurrentX = PicBox.ScaleHeight - (PicBox.TextWidth(Txt) - PicBox.FontSize) 'Bottom
  50. End If
  51. a% = a% + Increment% 'Add in the increment so it will move
  52. PicBox.CurrentY = a% 'Set the Y axis to what the increment has been changed to
  53. b% = PicBox.TextHeight(Txt$) + PicBox.CurrentY  'Check to see where the Y axis is plus the text Height
  54. PicBox.Print Txt$ 'Show the text after everything has been set
  55. Pause Delay$ 'Pause so the text won't go so fast that you can't see it move, .003 is a good pause time
  56. Loop Until b% >= PicBox.ScaleHeight 'Stop looping if the Y axis has reached the Bottom of the picture box
  57. End Sub
  58. Sub TxtDiagTopLeft(Txt As String, Delay As String, PicBox As PictureBox)
  59. Dim a As Integer, b As Integer, c As Integer
  60. PicBox.Font = "Arial" 'Set the font to Arial, I know Arial is a good font, works well and normal sizes not like 8.25 and 9.7 and stuff like that
  61. a% = PicBox.ScaleHeight - PicBox.TextHeight(Txt)
  62. c% = 0
  63. Do 'Start loop
  64. DoEvents
  65. PicBox.Cls 'Clear picture box
  66. b% = PicBox.ScaleWidth / PicBox.ScaleHeight 'gets the scale of the height to width
  67. a% = a% - 1 'Add in the increment so it will move
  68. PicBox.CurrentY = a% 'Set the Y axis to what the increment has been changed to
  69. c% = c% + b% 'Add in the increment so it will move
  70. PicBox.CurrentX = c% 'Set the X axis to what the increment has been changed to
  71. b% = PicBox.CurrentX  'Check to see where the X axis is
  72. PicBox.Print Txt$ 'Show the text after everything has been set
  73. Pause Delay$ 'Pause so the text won't go so fast that you can't see it move, .003 is a good pause time
  74. Loop Until b% >= PicBox.ScaleWidth - PicBox.TextWidth(Txt) - 30 'Stop looping if the X axis has reached the Right of the picture box
  75. End Sub
  76. Sub TxtDiagTopRight(Txt As String, Delay As String, PicBox As PictureBox)
  77. Dim a As Integer, b As Integer, c As Integer
  78. PicBox.Font = "Arial" 'Set the font to Arial, I know Arial is a good font, works well and normal sizes not like 8.25 and 9.7 and stuff like that
  79. a% = PicBox.ScaleHeight - PicBox.TextHeight(Txt)
  80. c% = PicBox.ScaleWidth - PicBox.TextWidth(Txt)
  81. Do 'Start loop
  82. DoEvents
  83. PicBox.Cls 'Clear picture box
  84. b% = PicBox.ScaleWidth / PicBox.ScaleHeight 'gets the scale of the height to width
  85. a% = a% - 1 'Add in the increment so it will move
  86. PicBox.CurrentY = a% 'Set the Y axis to what the increment has been changed to
  87. c% = c% - b% 'Add in the increment so it will move
  88. PicBox.CurrentX = c% 'Set the X axis to what the increment has been changed to
  89. b% = PicBox.CurrentX  'Check to see where the X axis is
  90. PicBox.Print Txt$ 'Show the text after everything has been set
  91. Pause Delay$ 'Pause so the text won't go so fast that you can't see it move, .003 is a good pause time
  92. Loop Until b% <= 0 + 30 'Stop looping if the X axis has reached the Left of the picture box
  93. End Sub
  94. Sub TxtTop(Txt As String, Delay As String, Increment As Integer, XPos As Integer, PicBox As PictureBox)
  95. Dim a As Integer, b As Integer
  96. PicBox.Font = "Arial" 'Set the font to Arial, I know Arial is a good font, works well and normal sizes not like 8.25 and 9.7 and stuff like that
  97. a% = PicBox.ScaleHeight - PicBox.TextHeight(Txt)
  98. Do 'Start loop
  99. DoEvents
  100. PicBox.Cls 'Clear picture box
  101. If XPos = 1 Then 'Check to see where the user wants the text to show
  102. PicBox.CurrentX = 0 'Left
  103. ElseIf XPos = 2 Then 'Middle
  104. PicBox.CurrentX = PicBox.ScaleWidth / 2 - (PicBox.TextWidth(Txt) + PicBox.FontSize) / 2 - PicBox.FontSize 'Middle
  105. ElseIf XPos = 3 Then 'Bottom
  106. PicBox.CurrentX = PicBox.ScaleHeight - (PicBox.TextWidth(Txt) - PicBox.FontSize) 'Bottom
  107. End If
  108. a% = a% - Increment% 'Add in the increment so it will move
  109. PicBox.CurrentY = a% 'Set the X axis to what the increment has been changed to
  110. b% = PicBox.CurrentY  'Check to see where the Y axis is
  111. PicBox.Print Txt$ 'Show the text after everything has been set
  112. Pause Delay$ 'Pause so the text won't go so fast that you can't see it move, .003 is a good pause time
  113. Loop Until b% <= 0 'Stop looping if the Y axis has reached the Top of the picture box
  114. End Sub
  115. Sub TxtRight(Txt As String, Delay As String, Increment As Integer, YPos As Integer, PicBox As PictureBox)
  116. Dim a As Integer, b As Integer
  117. PicBox.Font = "Arial" 'Set the font to Arial, I know Arial is a good font, works well and normal sizes not like 8.25 and 9.7 and stuff like that
  118. a% = 0
  119. Do 'Start loop
  120. DoEvents
  121. PicBox.Cls 'Clear picture box
  122. If YPos = 1 Then 'Check to see where the user wants the text to show
  123. PicBox.CurrentY = 0 'Top
  124. ElseIf YPos = 2 Then 'Middle
  125. PicBox.CurrentY = PicBox.ScaleHeight / 2 - (PicBox.TextHeight(Txt) + PicBox.FontSize) / 2 - PicBox.FontSize 'Middle
  126. ElseIf YPos = 3 Then 'Bottom
  127. PicBox.CurrentY = PicBox.ScaleHeight - (PicBox.TextHeight(Txt) - PicBox.FontSize) 'Bottom
  128. End If
  129. a% = a% + Increment% 'Add in the increment so it will move
  130. PicBox.CurrentX = a% 'Set the X axis to what the increment has been changed to
  131. b% = PicBox.FontSize + PicBox.TextWidth(Txt$) + PicBox.CurrentX 'Check to see where the X axis is plus the font size and text width
  132. PicBox.Print Txt$ 'Show the text after everything has been set
  133. Pause Delay$ 'Pause so the text won't go so fast that you can't see it move, .003 is a good pause time
  134. Loop Until b% >= PicBox.ScaleWidth 'Stop looping if the X axis has reached the Right of the picture box
  135. End Sub
  136. Sub TxtLeft(Txt As String, Delay As String, Increment As Integer, YPos As Integer, PicBox As PictureBox)
  137. Dim a As Integer, b As Integer
  138. PicBox.Font = "Arial" 'Set the font to Arial, I know Arial is a good font, works well and normal sizes not like 8.25 and 9.7 and stuff like that
  139. a% = PicBox.ScaleWidth - (PicBox.TextWidth(Txt) + PicBox.FontSize)
  140. Do 'Start loop
  141. DoEvents
  142. PicBox.Cls 'Clear picture box
  143. If YPos = 1 Then 'Check to see where the user wants the text to show
  144. PicBox.CurrentY = 0 'Top
  145. ElseIf YPos = 2 Then 'Middle
  146. PicBox.CurrentY = PicBox.ScaleHeight / 2 - (PicBox.TextHeight(Txt) + PicBox.FontSize) / 2 - PicBox.FontSize 'Middle
  147. ElseIf YPos = 3 Then 'Bottom
  148. PicBox.CurrentY = PicBox.ScaleHeight - (PicBox.TextHeight(Txt) - PicBox.FontSize) 'Bottom
  149. End If
  150. a% = a% - Increment% 'Add in the increment s